<?php
namespace UtilQRcode;
use wechatUtil\Popularize;//引入推广支持
use phpqrcode\phpqrcode;

use chrome\ChromePhp;//引入chromephp插件
use common\Common;//引入公共函数

/**
 * 提供二维码服务
 * @name QRcode.php
 * @package fenxiao
 * @category include
 * @link http://www.changekeji.com
 * @author leon
 * @version 1.0
 * @since 2016-08-24
 */
class UtilQRcode{
	
	/**
	 * 二维码文件流
	 * @param string $code
	 * @param int $size
	 */
	public static function getQRcode($code,$size = 10){
		//if(!class_exists('phpqrcode')) include 'include/phpqrcode/phpqrcode.php';
//		$errorCorrectionLevel = 'L';//容错级别
//		$matrixPointSize = $size;//生成图片大小
//		//生成二维码图片
//		\QRcode::png($code, false, $errorCorrectionLevel, $matrixPointSize, 2);
        import('phpqrcode.phpqrcode', EXTEND_PATH);
        $errorCorrectionLevel = 'l';//容错级别
        $matrixPointSize = $size;//生成图片大小
        $img = md5($code).'.png';
        $outfile = ROOT_PATH. 'public' . DS ."qrcode/".date('Ymd')."/";
        if(!file_exists($outfile)){
            //检查是否有该文件夹，如果没有就创建，并给予最高权限
            mkdir($outfile,0777,true);
        }
        $filename = $outfile.$img;
        //生成二维码图片
        \QRcode::png($code, $filename, $errorCorrectionLevel, $matrixPointSize, 0);
        $QR = $filename;				//已经生成的原始二维码图片文件
        $QR = imagecreatefromstring(file_get_contents($QR));
        //保存图片,销毁图形，释放内存
        if (!file_exists($filename)) {
            imagepng($QR, $filename);
            imagedestroy($QR);
        } else {
            imagedestroy($QR);
        }
        return $filename;
	}
	
	/**
	 * 获取带参数的二维码
	 * @param int $param 需要传入的参数 只支持1--100000
	 * @param int $type 1 临时 2 永久
	 * @param $expireSeconds Int 过期时间，只在类型为临时二维码时有效。最大为1800，单位秒
	 * @return string
	 */
	public static function getParamQRcode($param,$type = 1,$expireSeconds = '2590000'){
	    //if(!class_exists('Popularize')) include 'include/wechatUtil/Popularize.php';
	    $return = Popularize::createTicket($type, $expireSeconds, $param);
	    $ticket = urlencode($return['ticket']);
        $code = 'https://mp.weixin.qq.com/cgi-bin/showqrcode?ticket=' . $ticket;
// 	    $url = Popularize::long2short($get);//压缩长url
        return $code;
	}
	
	
	
}
